Part Number Hot Search : 
EP100 001118 AM687LMB FDS66 SY89834U SUH230 MAC04057 SD840
Product Description
Full Text Search
 

To Download UOLED-160-GMD1 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
 www..com
USERS MANUAL
OLED 160 GMD1 SD
(Serial Command Platform) Revision 1.3
4D Systems
www..com
PROPRIETORY INFORMATION
The information contained in this document is the property of 4D Systems Pty. Ltd., and may be the subject of patents pending or granted, and must not be copied or disclosed with out prior written permission. It should not be used for commercial purposes without prior agreement in writing. 4D Systems Pty. Ltd. Endeavours to ensure that the information in this document is correct and fairly stated but does not accept liability for any error or omission. The development of 4D Systems products and services is continuous and published information may not be up to date. It is important to check the current position with 4D Systems. Contact details are available from the company web site at www.4dsystems.com.au All trademarks recognised and acknowledged. Copyright 4D Systems Pty. Ltd. 2000-2007
DISCLAIMER OF WARRANTIES & LIMITATION OF LIABILITY
4D Systems Pty. Ltd. makes no warranty, either express or implied with respect to any product, and specifically disclaims all other warranties, including, without limitation, warranties for merchantability, non-infringement and fitness for any particular purpose. 4d systems' sole obligation and liability for product defects shall be, at 4d systems' option, to replace such defective product or refund to buyer the amount paid by buyer therefore. In no event shall 4D Systems' liability exceed the buyer's purchase price. The foregoing remedy shall be subject to buyer's written notification of defect and return of the defective product within ninety (90) days of purchase. The foregoing remedy does not apply to products that have been subjected to misuse (including without limitation static discharge), neglect, accident or modification, or to products that have been soldered or altered during assembly, or are otherwise not capable of being tested, or if damage occurs as a result of the failure of buyer to follow specific instructions. In no event shall 4D Systems be liable to the buyer or to any third party for any indirect, incidental, special, consequential, punitive or exemplary damages (including without limitation lost profits, lost savings, or loss of business opportunity) arising out of or relating to any product or service provided or to be provided by 4D Systems, or the use or inability to use the same, even if 4D Systems has been advised of the possibility of such damages.
www.4dsystems.com.au
2
www..com
Table of contents
1. OLED Description
1.1 1.2 Introduction OLED-160-GMD1 features
2.
OLED-160-GMD1 Serial Command set
2.1 2.2 Command Protocol General Command Set
2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 2.2.15 2.2.16 2.2.17 2.2.18 2.2.19 2.2.20 2.2.21 2.2.22 2.2.23 Add User Bitmapped Character Set Background Colour Place Text button Draw Circle Block copy & Paste (Screen Bitmap Copy) Display User Bitmapped Character Erase Screen Set Font Size Draw TrianGle Draw Polygon Display Image Draw Line Opaque or Transparent Text Put Pixel Set pen Size Read Pixel Draw rectangle Place String of ASCII Text (unformatted) Place string of ASCII Text (formatted) Place Text Character (formatted) Place text Character (unformatted) OLED DisplaY Control Functions Version/Device Info Request Write to OLED Register Display Scroll Control initialise SD Memory Card Read Sector Write Sector read Byte write Byte Set Address Copy Screen to Memory Card Display Image/Icon from Memory Card
2.3
Display Specific Command set
2.3.1 2.3.2
2.4
Extended Command set
2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8
www.4dsystems.com.au
3
www..com
2.4.9 2.4.10 2.4.11 2.4.12 2.4.13 2.4.14 2.4.15 2.4.16
Display Object from Memory Card Run Program from Memory Card Delay Set Counter Decrement Counter Jump to Address If Counter Not Zero Jump to Address Exit Program from Memory Card
2.5 2.6 2.7
Serial Interface USB Interface Personality Module Micro Code (PmmC)
3.
Specifications
3.1 3.2 3.3 3.4 3.5 3.6 3.7 Power Consumption (@ 5.0V Supply) Host Interface pin-outs Mechanical Details Circuit Diagram 65,536 Colour Bitmap Organisation 256 Colour Bitmap Organisation Power-Up Reset
4.
Appendix
4.1 4.2 4.3 4.4 4.5 Available models Related Products Auto Demo/Slide Show Precautions Help and Other Information
www.4dsystems.com.au
4
www..com
1
OLED Description
1.1 Introduction
The OLED is a compact & cost effective all in one `SMART" OLED Display with an embedded graphics controller that will deliver `stand-alone' functionality to your project. The `simple to use' embedded commands not only control background colour but can produce text in a variety of sizes as well as draw shapes (which can include user definable bitmapped characters such as logos) in 256 or 65,536 colours whilst freeing up the host processor from the `processor hungry ` screen control functions. This means a simple micro-controller with a standard serial or USB interface can drive the OLED module with total ease. Figures below show some of the graphics capability of the OLED.
www.4dsystems.com.au
5
www..com
1.2 OLED-160-GMD1 Features
The OLED-160-GMD1 is aimed at being integrated into a variety of different applications via a wealth of features designed to facilitate any given functionality quickly and cost effectively and thus reduce `time to market'. These features are as follows: 160 x 128 pixel resolution, 256 or 65K true to life colours, Enhanced OLED screen 1.69" diagonal. Panel Size: 52 x 32 x 8.8mm. Active Area: 33.6 x 27mm. No backlighting with near 180 viewing angle. Easy 5 pin interface to any host device: VCC, TX, RX, GND, RESET Voltage supply from 3.3V to 6.0V, current @ 40mA nominal when using a 5.0V supply source. Serial RS-232 (0V to 3.3V) with auto-baud feature (300 to 256K baud). If interfacing to a system greater than 3.6V supply, a series resistor (1K) is required on the RX line. Powered by the fully integrated GOLDELOX-MD1 module (also available as separate OEM modules for volume users). Optional USB to Serial interface via the 4D micro-USB (uUSB-MB5) module. Onboard micro-SD (SD) memory card adaptor for storing of icons, images, animations, etc. 64Mb to 1Gig SD memory cards can be purchased separately. Three selectable font sizes (5x7, 8x8 and 8x12) for ASCII characters as well as user-defined bitmapped characters (32 @ 8x8) Built in graphics commands such as: LINE, CIRCLE, RECTANGLE, TEXT, USER BITMAP, BACKGROUND COLOUR, PUT PIXEL, IMAGE, etc. just to name a few
www.4dsystems.com.au
6
www..com
2 OLED-160-GMD1 Serial Command Set
The heart of the OLED-160-GMD1 is the easy to understand command set. This comprises of a handful of easy to learn instructions that can draw lines, circles, squares, etc, to provide a full text and graphical user interface. The commands are sent to the OLED-160-GMD1 via its serial connection (5 pin header). The command set is grouped into 3 sections:
* * *
General Command Set Display Specific Command Set Extended Command Set
Each Command set is described in detail in the following sections. NOTE!:
The RX and the TX signals are at 3.3V levels. If interfacing to a host system running at voltages greater than 3.6V levels, then a 1K series resistor must be inserted between the Host TX and the OLED-160-GMD1 RX signals as shown in the diagram below.
Serial Data Format: 8 Bits, No Parity, 1 Stop Bit.
www.4dsystems.com.au
7
www..com
2.1 Command Protocol
The following are each of the commands with the correct syntax. Please note that all command examples listed below are in hex (00hex). Due to the high colour depth of the OLED, a pixel colour value will not fit into a single byte, a byte can only hold a maximum value of 255. Therefore the colour is represented as a 2 byte value, colour(msb:lsb). The most significant byte (msb) is transmitted first followed by the least significant byte (lsb). This format is called the big endian. So for a 2 byte colour value of 013Fhex the byte order can be shown as (01hex),(3Fhex). NOTE: When transmitting the command and data bytes to the OLED, do not include any separators such as commas `,' or spaces ` ` or brackets `(` `)' between the bytes. The examples show these separators purely for legibility; these must not be included when transmitting data to the OLED. When a command is sent, the OLED will reply back with a single acknowledge byte called the ACK (06hex). This tells the host that the command was understood and the operation is completed. It will take the OLED anywhere between 1 to several milliseconds to reply back with an ACK, depending on the command and the operation the OLED has to perform. If the OLED receives a command that it does not understand it will reply back with a negative acknowledge called the NAK (15hex). If a command that has 5 bytes but only 4 bytes are sent, the command will not be executed and the OLED will wait until another byte is sent before trying to execute the command. There is no timeout on the OLED when incomplete commands are sent. The OLED will reply back with a NAK for each invalid command it receives. For correct operation make sure the command bytes are sent in the correct sequence.
www.4dsystems.com.au
8
www..com
2.2 General Command Set
General Command Set (A) Add User Bitmapped Character (B) Set Background Colour (b) Place Text button (C) Draw Circle (c) Block copy and Paste (bitmap copy) (D) Display User Bitmapped Character (E) Erase Screen (F) Font Size (G) Draw TrianGle (g) Draw Polygon (I) Display Image (L) Draw Line (O) Opaque or Transparent Text (P) Put Pixel (p) Set pen Size (R) Read Pixel (r) Draw rectangle (S) Place String of ASCII Text (unformatted) (s) Place string of ASCII Text (formatted) (T) Place Text Character (formatted) (t) Place text Character (unformatted) (V) Version/Device Info Request (Y) OLED DisplaY Control functions
Live
Object
Memory


NOTES: Live : Those commands that can be sent via the serial link and executed by the uOLED
module.
Object : Those commands that can be recalled from the memory card at any time by the host
and displayed on the screen using the "Display Object from Memory Card" command. Memory:Those commands that can reside and be executed from inside the memory card.
www.4dsystems.com.au
9
www..com
2.2.1
Add User Bitmapped Character (A)
Syntax : cmd, char#, data1, data2, ........, dataN cmd : 41hex, Aascii char# : bitmap character number to add to memory: 0 to 31 (00h to 1Fh), 32 characters of 8x8 format. data1 to dataN : number of data bytes that make up the composition and format of the bitmapped character. The 8x8 bitmap composition is 1 byte wide (8bits) by 8 bytes deep which makes N = 1x8 = 8. Description : This command will add a user defined bitmapped character into the internal memory. Example1: 41hex, 01hex, 18hex, 24hex, 42hex, 81hex, 81hex, 42hex, 24hex, 18hex This adds and saves user defined 8x8 bitmap as character number 1 into memory as seen below.
b7 b6 b5 b4 b3 b2 b1 b0
data1 (hex = 18h) data2 (hex = 24h) data3 (hex = 42h) data4 (hex = 81h) data5 (hex = 81h) data6 (hex = 42h) data7 (hex = 24h) data8 (hex = 18h) Example of a 8x8 user defined bitmap
www.4dsystems.com.au
10
www..com
2.2.2 Set Background Colour (B)
Syntax : cmd, colour(msb:lsb) cmd : 42hex, Bascii colour(msb:lsb) : pixel colour value: 2 bytes (16 bits) msb:lsb 65,536 colours to choose from Black = 0000hex, 0dec White = FFFFhex, 65,535dec, 1111111111111111bin Description : This command sets the current background colour. Once this command is sent, only the background colour will change. Any other object on the screen with a different colour value will not be affected. Example : 42hex, FFFFhex Set the background colour to value 65,535 (white).
www.4dsystems.com.au
11
www..com
2.2.3
Text button (b)
Syntax : cmd, state, x, y, buttonColour(msb:lsb), font, textColour(msb:lsb), textWidth, textHeight, char1, .., charN, terminator cmd : 62hex, bascii state : Specifies whether the displayed button is drawn as UP (not pressed) or DOWN (pressed). 0 = Button Down (pressed) 1 = Button Up (not pressed) x : top left horizontal start position of the button y : top left vertical start position of the button buttonColour(msb:lsb) : 2 byte button colour value font : 0 = 5x7 font, 1 = 8x8 font, 2 = 8x12 font. This has precedence and does not affect the Font command. textColour(msb:lsb) : 2 byte text colour value textWidth : horizontal size of the character, effects the width of the button. textHeight : vertical size of the character, effects the height of the button. char1..charN : string of ASCII characters (limit the string to line width) terminator : the string must be terminated with 00hex Description : This command will place a Text button similar to the ones used in a PC Windows environment. (x, y) refers to the top left corner of the button and the size of the button is automatically calculated and drawn on the screen with the text relatively justified inside the button box. The button can be displayed in an UP (button not pressed) or DOWN (button pressed) position by specifying the appropriate value in the state byte. Separate button and text colours provide many variations in appearance and format.
www.4dsystems.com.au
12
www..com
2.2.4 Draw Circle (C)
Syntax : cmd, x, y, rad, colour(msb:lsb) cmd : 43hex, Cascii x : circle centre horizontal position. 0dec to 159dec (00hex to 9Fhex). y : circle centre vertical position. 0dec to 127dec (00hex to 7Fhex). rad : radius size of the circle. 0dec to 127dec (00hex to 7Fhex). colour(msb:lsb) : 2 byte circle colour value Description : This command will draw a coloured circle centred at (x, y) with a radius determined by the value of rad. The circle can be either solid or wire frame (empty) depending on the value of the Pen Size (see Set Pen Size command). When Pen Size = 0 circle is solid, Pen Size = 1 circle is wire frame. Example : 43hex, 3Fhex, 3Fhex, 22hex, 00hex, 1Fhex Draws a RED circle (001Fhex) centred at x = 63dec (3Fhex) and y = 63dec (3Fhex) with a radius of 34dec (22hex).
When Pen Size = 1
When Pen Size = 0
www.4dsystems.com.au
13
www..com
2.2.5
Block copy & Paste (Screen Bitmap Copy) (c)
Syntax : cmd, xs, ys, xd, yd, width, height cmd : 63hex, cascii xs: top left horizontal start position of block to be copied (source) ys: top left vertical start position of block to be copied (source) xd: top left horizontal start position of where copied block is to be pasted (destination) yd: top left vertical start position of where the copied block is to be pasted (destination) width: width of block to be copied (source) height: height of block to be copied (source) Description : This command copies an area of a bitmap block of specified size. The start location of the block to be copied is represented by xs, ys (top left corner) and the size of the area to be copied is represented by width and height parameters. The start location of where the block is to be pasted (destination) is represented by xd, yd (top left corner). This is a very powerful feature for animating objects, smooth scrolling, implementing a windowing system or copying patterns across the screen to make borders or tiles.
www.4dsystems.com.au
14
www..com
2.2.6
Display User Bitmapped Character (D)
Syntax : cmd, char#, x, y, colour(msb), colour(lsb) cmd : 44hex, Dascii char# : which user defined character number to display from the selected group. 0dec to 31dec (00hex to 1Fhex), of 8x8 format. x: y: horizontal display position of the character. 0dec to 159dec (00hex to 9Fhex). vertical display position of the character. 0dec to 127dec (00hex to 7Fhex).
colour(msb:lsb) : 2 byte bitmap colour value Description : This command displays the previously defined user bitmapped character at location (x, y) on the screen. User defined bitmaps allow drawing & displaying unlimited graphic patterns quickly & effectively. Example 1: 44hex, 01hex , 00hex, 00hex, F8hex, 00hex Display 8x8 bitmap character number 1 at x = 0, y = 0, colour = red Example 2: 44hex, 01hex, 08hex, 00hex, 07hex, E0hex Display 8x8 bitmap character number 1 at x = 8, y = 0, colour = green Example 3: 44hex , 01hex, 10hex, 00hex, 00hex, 1Fhex Display 8x8 bitmap character number 1 at x = 16, y = 0, colour = blue
www.4dsystems.com.au
15
www..com
2.2.7 Erase Screen (E)
Syntax : cmd cmd : 45hex, Eascii
Description : This command clears the entire screen using the current background colour. Example : 45hex Clear the screen.
www.4dsystems.com.au
16
www..com
2.2.8 Set Font Size (F)
Syntax : cmd, size cmd : 46hex, Fascii size : = 00hex : 5x7 small size font = 01hex : 8x8 medium size font = 02hex : 8x12 large size font Description : This command will change the size of the font according to the value set by size. Changes take place after the command is sent. Any character on the screen with the old font size will remain as it was. Example1: 46hex, 00hex Example1: 46hex, 01hex Example1: 46hex, 02hex Select small 5x7 fonts Select medium 8x8 fonts Select large 8x12 fonts
www.4dsystems.com.au
17
www..com
2.2.9 Draw TrianGle (G)
Syntax : cmd, x1, y1, x2, y2, x3, y3, colour(msb:lsb) cmd : 47hex, Gascii x1, y1, x2, y2, x3, y3 : 3 vertices of the triangle. These must be specified in an anti-clockwise fashion. colour(msb:lsb) : 2 byte triangle colour value Description : This command draws a Solid/Empty triangle. The vertices must be specified in an anti-clock wise manner, i.e. x2 < x1, x3 > x2, y2 > y1, y3 > y1. A solid or a wire frame triangle is determined by the value of the Pen Size setting, i.e. 0 = solid, 1 = wire frame.
www.4dsystems.com.au
18
www..com
2.2.10 Draw Polygon (g)
Syntax : cmd, vertices, x1, y1, .. .. .. .. xn, yn, colour(msb:lsb) cmd : 67hex, g ascii vertices : number of vertices from 3 to 7. Specifies the number of vertices of the polygon. (x1, y1) .. .. .. (xn, yn) : vertices of the polygon. These can be specified in any fashion. colour(msb:lsb) : 2 byte polygon colour value Description : This command draws an Empty/Wire Frame polygon. Up to 7 vertices can be specified in any manner. Currently only a wire frame polygon is supported.
www.4dsystems.com.au
19
www..com
2.2.11 Display Image (I)
Syntax : cmd, x, y, width, height, colourMode, pixel1, .. pixelN cmd : 49hex, Iascii
x : Image horizontal start position (top left corner) y : Image vertical start position (top left corner) width : horizontal size of the image height : vertical size of the image colourMode : 8dec = 256 colour mode, 8bits/1byte per pixel 16dec = 65K colour mode, 16bits/2bytes per pixel (msb:lsb) pixel1..pixelN : image pixel data and N is the total number of pixels N = height x width when colourMode = 8 N = height x width x 2 when colourMode = 16 Description : This command displays a bitmap image on to the screen with the top left corner specified by (x, y) and size of the image specified by width and height parameters. This command is more effective than using the "Put Pixel" command, where there are no overheads in specifying the x, y location of each pixel.
www.4dsystems.com.au
20
www..com
2.2.12 Draw Line (L)
Syntax : cmd, x1, y1, x2, y2, colour(msb:lsb) cmd : 4Chex, Lascii
x1 : horizontal position of line start. 0dec to 159dec (00hex to 9Fhex). y1 : vertical position of line start. 0dec to 127dec (00hex to 7Fhex). x2 : horizontal position of line end. 0dec to 159dec (00hex to 9Fhex). y2 : vertical position of line end. 0dec to 127dec (00hex to 7Fhex). colour(msb:lsb) : 2 byte line colour value Description : This command will draw a coloured line from point (x1, y1) to point (x2, y2) on the screen. Example : 4Chex, 00hex, 00hex, 7Fhex, 7Fhex, FFhex, FFhex Draws a white line from (x1=0, y1=0) to (x2=127, y2=127).
www.4dsystems.com.au
21
www..com
2.2.13 Opaque / Transparent Text (O)
Syntax : cmd, mode cmd : 4Fhex, Oascii mode : = 00hex : Transparent Text, objects behind the text can be seen. = 01hex: Opaque Text, objects behind text is blocked by background
Description : This command will change the attribute of the text so that an object behind the text can either be blocked or transparent. Changes take place after the command is sent. This command will change the attribute so that when a character is written, it will either write just the character alone (Transparent Mode) so any original character will be seen as well as the new, or overwrite any existing data with the new character.
Example1: 4Fhex, 00hex Example2: 4Fhex, 01hex
Transparent Text Mode Opaque Text Mode
www.4dsystems.com.au
22
www..com
2.2.14 Put Pixel (P)
Syntax : cmd, x, y, colour(msb:lsb) cmd : 50hex, Pascii x : horizontal pixel position. 0dec to 159dec (00hex to 9Fhex). y : vertical pixel position. 0dec to 127dec (00hex to 7Fhex). colour : pixel colour value: 2 bytes (16 bits) msb, lsb 65,536 colours to choose from Black = 0000hex, 0dec White = FFFFhex, 65,535dec, 1111111111111111bin Description : This command will put a coloured pixel at location (x, y) on the screen. Example : 50hex, 01hex, 0Ahex, FFhex, FFhex Puts a white (FFFFhex) pixel at location x = 01dec (01hex) and y = 10dec (0Ahex).
www.4dsystems.com.au
23
www..com
2.2.15 Set pen Size (p)
Syntax : cmd, size cmd : 70hex, p ascii size : = 00hex : All objects such as circles, rectangles, triangles, etc are solid = 01hex : All objects are wire frame (empty) Description : This command determines if certain graphics objects are drawn in solid or wire frame fashion. Example1: 70hex, 00hex Example1: 70hex, 01hex All objects will be drawn solid All objects will be drawn wire frame.
www.4dsystems.com.au
24
www..com
2.2.16 Read Pixel (R)
Syntax : cmd, x, y cmd : 52hex, Rascii x : horizontal pixel position. 0dec to 159dec (00hex to 9Fhex). y : vertical pixel position. 0dec to 127dec (00hex to 7Fhex). Description : This command will read the colour value of pixel at location (x, y) on the screen and return it to the host. This is a useful command when for example a white pointer is moved across the screen and the host can read the colour on the screen and switch the colour of the pointer when it's on top of a light coloured area. Example : 52hex, 01hex, 01hex OLED reply : 00hex, 1Fhex Reads a blue (001Fhex) pixel at location x = 1dec (01hex) and y = 1dec (01hex).
www.4dsystems.com.au
25
www..com
2.2.17 Draw rectangle (r)
Syntax : cmd, x1, y1, x2, y2, colour(msb:lsb) cmd : 72hex, r ascii x1 : top left horizontal start position of rectangle. 0 to 159 (00hex to 9Fhex). y1 : top left vertical start position of rectangle . 0dec to 127 (00hex to 7Fhex). x2 : bottom right horizontal end position. 0 to 159 (00hex to 9Fhex). y2 : bottom right vertical end position. 0 to 127 (00hex to 7Fhex). colour(msb:lsb) : 2 byte rectangle colour value Description : This command will draw a rectangle of specified area on the screen. x1, y1 refers to the top left corner of the area and x2, y2 refers to the bottom right hand corner of the rectangle on the screen. If colour is chosen to be that of the background then the effect will be erasure. If Pen Size value was previously set to 0 rectangle will be solid, otherwise wire frame if value was 1. Example : 70hex, 00hex, 00hex, 10hex, 10hex, 00hex, 1Fhex Draws a RED (001Fhex) rectangle that has its top left corner at x1=0, y1=0 and its bottom right corner at x2=16, y2=16.
www.4dsystems.com.au
26
www..com
2.2.18 Place String of Ascii Text (unformatted) (S)
Syntax : cmd, x, y, font, colour(msb:lsb), width, height, char1, .. , charN, terminator cmd : 53hex, Sascii x : the horizontal start position of string (in pixels). y : the vertical start position of string (in pixels). font : 0 = 5x7 font, 1 = 8x8 font, 2 = 8x12 font. This has precedence over the Font command but does not effect the previous font selection. colour(msb:lsb) : 2 byte colour value of the string. width : horizontal size of the string characters, n x normal size height : vertical size of the string characters, m x normal size char1..charN : string of ASCII characters (max 256 characters) terminator : the string must be terminated with 00hex Description : This command allows the display of a string of bitmapped (unformatted) ASCII characters. The horizontal start position of the string is specified by x and the vertical position is specified by y. The string must be terminated with 00hex. The sizes of the characters are determined by the width and height parameters. If the length of the string is longer than the maximum number of characters per line, then a wrap around will occur on to the next line. Maximum string length is 256 bytes.
www.4dsystems.com.au
27
www..com
2.2.19 Place string of Ascii Text (formatted) (s)
Syntax : cmd, column, row, font, colour(msb:lsb), char1,.., charN, terminator cmd : 73hex, sascii column : horizontal start position of string: 0 - 25 for 5x7 font, 0 - 19 for 8x8 and 8x12 font. row : vertical start position of string: 0 - 15 for 5x7 and 8x8 font, 0 - 9 for 8x12 font.
font : 0 = 5x7 font, 1 = 8x8 font, 2 = 8x12 font. This has precedence over the Font command. colour(msb:lsb) : 2 byte colour value of the string. char1..charN : string of ASCII characters (max 256 characters) terminator : the string must be terminated with 00hex Description : This command allows the display of a string of ASCII characters. The horizontal start position of the string is specified by column and the vertical position is specified by row. The string must be terminated with 00hex. If the length of the string is longer than the maximum number of characters per line, then a wrap around will occur on to the next line. Maximum string length is 256 bytes.
www.4dsystems.com.au
28
www..com
2.2.20 Place Text Character (formatted) (T)
Syntax : cmd, char, column, row, colour(msb:lsb) cmd : 54hex, Tascii char : inbuilt standard ASCII character, 32dec to 127dec (20hex to 7Fhex) column : horizontal position of character, see range below: 0 - 25 for 5x7 font, 0 - 19 for 8x8 and 8x12 font. row : vertical position of character: 0 - 15 for 5x7 and 8x8 font, 0 - 9 for 8x12 font.
colour(msb:lsb) : 2 byte colour value of the character. Description : This command will place a coloured ASCII character (from the ASCII chart) on the screen at a location specified by (column, row). The position of the character on the screen is determined by the predefined horizontal and vertical positions available, namely 0 to 25 columns by 0 to 15 rows.
Example : 54hex, 41hex, 00hex, 00hex, FFhex, FFhex Place character `A' (41hex) at column = 0, row = 0, colour = white (65,535).
www.4dsystems.com.au
29
www..com
2.2.21 Place text Character (unformatted) (t)
Syntax : cmd, char, x, y, colour(msb:lsb), width, height cmd : 74hex, tascii char : inbuilt standard ASCII character, 32dec to 127dec (20hex to 7Fhex) x : the horizontal position of character (in pixel units). y : the vertical position of character (in pixel units). colour(msb:lsb) : 2 byte colour value of the character. width : horizontal size of the character, n x normal size height : vertical size of the character, m x normal size Description : This command will place a coloured built in ASCII character anywhere on the screen at a location specified by (x, y). Unlike the `T' command, this option allows text of any size (determined by width and height) to be placed at any position. The font of the character is determined by the `Font Size' command.
www.4dsystems.com.au
30
www..com
2.2.22 OLED DisplaY Control Functions (Y)
Syntax : cmd, mode, value cmd : 59hex, Yascii mode : = 00hex : BACKLIGHT CONTROL. value = XXhex: has no effect as there is no backlighting on the OLED display. This is only retained for legacy. mode : = 01hex : DISPLAY ON/OFF. value = 00hex: Display OFF = 01hex: Display ON mode : = 02hex : OLED CONTRAST. value = 0dec to 15dec : Contrast range (default = 15dec) mode : = 03hex : OLED POWER-UP/POWER-DOWN. value = 00hex: OLED Power-Down = 01hex: OLED Power-Up Note: It is important that the OLED be issued with the Power-Down command before switching off the power. This command switches off the internal voltage boosters and current amplifiers and they need to be turned off before main power is removed. If the power is removed without issuing this command, the OLED display maybe damaged (over a period of time). This command also turns off the display. This command need not only be issued to shutdown but can be issued to conserve power by turning off the display and the backlight. The Power-Up command does not need to be executed when applying power. If a Power-Down command has been issued and Power is not switched off, the Power-Up command can be sent to Power the display back up again.
www.4dsystems.com.au
31
www..com
2.2.23 Version/Device Info Request (V)
Syntax : cmd, output Response : device_type, hardware_rev, firmware_rev, horizontal_res, vertical_res cmd : 56hex, Vascii
output : 00hex : outputs the version and device info to the serial port only. 01hex : outputs the version and device info to the serial port as well as to the screen. device_type : this response indicates the device type. 00hex = micro-OLED. 01hex = micro-LCD. 02hex = micro-VGA. hardware_rev : this response indicates the device hardware version. firmware_rev : this response indicates the device firmware version. horizontal_res : this response indicates the horizontal resolution of the display. 22hex : 220 pixels 28hex : 128 pixels 32hex : 320 pixels 60hex : 160 pixels 64hex : 64 pixels 76hex : 176 pixels 96hex : 96 pixels vertical_res : this response indicates the vertical resolution of the display. See horizontal_res above for resolution options. Description : This command requests all the necessary information from the module about its characteristics and capability.
www.4dsystems.com.au
32
www..com
2.3 Display Specific Command Set
Different OLED display panels that are used in the OLED range of intelligent display modules have certain built in features that are controlled directly by the embedded driver controller. These features otherwise would be too cumbersome to implement in firmware and would require resources that are not available. The Display Specific Command set utilises these built in hardware features directly. These are detailed in this section.
Display Specific Command Set ($W) Write to OLED Register ($S) Display Scroll Control
Live
Object
Memory
www.4dsystems.com.au
33
www..com
2.3.1 Write to OLED Register ($W)
Syntax : spCmd, cmd, reg, data spCmd : 24hex, $ascii cmd : 57hex, Wascii reg : OLED internal register address. Refer to SEPS525 OLED driver data sheet for all register information. data : OLED internal register data. Description : This command allows direct access to all of the SEP525 driver registers. For more detail, refer to the SEP525 driver data sheet available from: www.4dsystems.com.au/micro-OLED/OLED-160/data/SEPS525.pdf
www.4dsystems.com.au
34
www..com
2.3.2 Display Scroll Control ($S)
Syntax : spCmd, cmd, register, data spCmd : 24hex, $ascii cmd : 53hex, Sascii reg : Scroll Control Register. register 0x00 (Scroll Enable/Disable) 0x01 (Scroll Direction) 0x02 (Scroll Speed) data 0 = Disable, 1 = Enable 0 = Left Scroll, 1 = Right Scroll 0 to 7, 0 = slow, 7 = fast
data : Scroll register data. Refer to above for detail. Description : This command allows control of screen scrolling.
www.4dsystems.com.au
35
www..com
2.4 Extended Command Set
The following commands are related to the OLED-160-GMD1 extended command set and they are described in this section. The OLED-160-GMD1 is designed around the GOLDELOX-MD1 module (can be seen in the images below) which has an integrated micro-SD (SD) memory card adaptor. The GOLDELOX-MD1 module can accept memory cards of any size from 64Mb up to 1Gig for storing of text, images, icons, animations, movie clips and all other graphics objects. To utilise the Extended Command set, a SD memory card must be inserted into the module since all of these commands are based around the memory card. You will find references being made to "Objects" throughout this section. An object can be simply defined as those commands that reside inside the memory card (programmed/downloaded previously) and can be displayed on the screen by the "Display Object from Memory Card" command. The idea of programming objects into the memory card is so that they can be automatically replayed back like a slide show without any host processor intervention. There are also some commands that can only reside inside the card and must be executed from there. These commands will return a NAK if executed live from the serial link.
www.4dsystems.com.au
36
www..com
Extended Command Set (@i) initialise uSD Memory Card (@R) Read Sector (@W) Write Sector (@r) read Byte (@w) write Byte (@A) Set Address (@C) Copy Screen to Memory Card (@I) Display Image/Icon from Memory Card (@O) Display Object from Memory Card (@P) Run Program from Memory Card (07hex) Delay (in milliseconds) (08hex) Set Counter (09hex) Decrement Counter (0Ahex) Jump to Address if Counter not Zero (0Bhex) Jump to Address (0Chex) Exit Program from Memory Card
Live
Object
Memory

NOTES: Live : Those commands that can be sent via the serial link and executed by the uOLED
module.
Object : Those commands that can be recalled from the memory card at any time by the host
and displayed on the screen using the "Display Object from Memory Card" command. Memory:Those commands that can reside and be executed from inside the memory card.
www.4dsystems.com.au
37
www..com
2.4.1 initialise Memory Card (@i)
Syntax : extCmd, cmd extCmd : 40hex, @ascii cmd : 69hex, i ascii Description : This command initialises the SD memory card. The memory card is always initialised upon Power-Up or Reset cycle, if the card is present. If the card is inserted after the power up or a reset then this command must be used to initialise the card.
www.4dsystems.com.au
38
www..com
2.4.2
Read Sector Data from Memory Card (@R)
Syntax : extCmd, cmd, SectorAddress(hi:mid:lo) extCmd : 40hex, @ascii cmd : 52hex, Rascii SectorAddress(hi:mid:lo): A 3 byte sector address. Sector Address range from 0 to 16,777,215 depending on the capacity of the card. Each sector is 512 bytes in size. There are 2048 sectors per every 1Mb of card memory. Description : This command provides a means of reading data back from the memory card in lengths of 512 bytes. It maybe useful in validating the data that was stored previously using the Write Sector command. Once this command is sent, the OLED will return 512 bytes of data relating to that particular sector.
www.4dsystems.com.au
39
www..com
2.4.3
Write Sector Data to Memory Card (@W)
Syntax : extCmd, cmd, SectorAddress(hi:mid:lo), data(1), .. , data(512) extCmd : 40hex, @ascii cmd : 57hex, Wascii SectorAddress(hi:mid:lo): A 3 byte sector address. Sector Address range from 0 to 16,777,215 depending on the capacity of the card. Each sector is 512 bytes in size. There are 2048 sectors per every 1Mb of card memory. data(1), .. , data(512): 512 bytes of sector data. The data length must be 512 bytes long. Unused bytes must be padded even if not all are used. Description : This command allows downloading of objects such as images and other commands for storage that can be retrieved and used later on. It can also be used as general purpose storage for user specific data. Downloads must always be limited to 512 bytes in length. For large objects such as images, the data must be broken up into multiple sectors (chunks of 512 bytes) and this command then maybe used many times until all of the data is written into the card. If the data block to be written is less than 512 bytes in length, then make sure the rest of the remaining data are padded with 00hex or FFhex (it can be anything). If only few bytes of data are to be written then the Write Byte command can be used. Once this command message is sent, the OLED will take a few milliseconds to write the data into its memory card and at the end of which it will reply back with an ACK(06hex) if the write cycle was successful. If there was a problem in writing the data to the card a NAK(15hex) will be sent back without any write attempts. Only data(1) to data(512) are stored in the card. Other bytes in the command message such as Sector Address are not stored.
www.4dsystems.com.au
40
www..com
2.4.4
read Byte Data from Memory Card (@r)
Syntax : extCmd, cmd extCmd : 40hex, @ascii cmd : 72hex, r ascii Description : This command provides a means of reading a single byte of data back from the memory card. Before this command can be used the card memory address location must be set using the Set Memory Address command. Once this command is sent, the OLED will return 1 byte of data relating to that memory location set by the memory Address pointer. The memory Address location pointer is automatically incremented to the next address location.
www.4dsystems.com.au
41
www..com
2.4.5
write Byte Data to Memory Card (@w)
Syntax : extCmd, cmd, data extCmd : 40hex, @ascii cmd : 77hex, w ascii data : 1 byte of memory card data. Description : This command allows writing single bytes of data to the memory card. This is useful for writing small chunks of data relating to graphics objects or user application specific data for general purpose storage. For large data blocks it is more efficient to use the Write Sector Data command described in the previous section. Before this command can be used the card memory address location must be set using the Set Memory Address command. Once this command is sent, the OLED will write 1 byte of data relating to that memory location set by the memory Address pointer. The memory Address location pointer is automatically incremented to the next address location. Only the data byte is stored in the card. Other bytes in the command message are not stored.
www.4dsystems.com.au
42
www..com
2.4.6 Set Memory Address (@A)
Syntax : extCmd, cmd, Address(Umsb:Ulsb:Lmsb:Llsb) extCmd : 40hex, @ascii cmd : 41hex, Aascii Address(Umsb:Ulsb:Lmsb:Llsb): A 4 byte memory card address for byte wise access. Description : This command sets the card memory Address pointer for byte wise reads and writes. After a byte read or write the Address pointer is automatically incremented internally to the next Address location.
www.4dsystems.com.au
43
www..com
2.4.7
Copy Screen to Memory Card (@C)
Syntax : extCmd, cmd, x, y, width, height, SectorAddress(hi:mid:lo) extCmd : 40hex, @ascii cmd : 43hex, Cascii x : Screen horizontal start position (top left corner) y : Screen vertical start position (top left corner) width : horizontal size of the screen area to be copied height : vertical size of the screen area to be copied SectorAddress(hi:mid:lo): A 3 byte sector address where the copied screen area is to be stored. Description : This command copies an area of the screen of specified size. The start location of the block to be copied is represented by x, y (top left corner) and the size of the area to be copied is represented by width and height parameters. This is similar the Block Copy and Paste command but instead of the copied screen area being pasted to another location on the screen it is stored into the memory card. The stored screen image can then be later recalled from the memory card and redisplayed onto the screen at the same or different location by using the Display Image/Icon from Memory Card command. This is a very powerful feature for animating objects, smooth scrolling, or implementing a windowing system.
www.4dsystems.com.au
44
www..com
2.4.8
Display Image/Icon from Memory Card (@I)
Syntax : extCmd, cmd, x, y, width, height, colourMode, SectorAddress(hi:mid:lo) extCmd : 40hex, @ascii cmd : 49hex, Iascii x : Screen horizontal start position (top left corner) y : Screen vertical start position (top left corner) width : horizontal size of the Image/Icon height : vertical size of the Image/Icon colourMode : 8dec = 256 colour mode, 8bits/1byte per pixel 16dec = 65K colour mode, 16bits/2bytes per pixel SectorAddress(hi:mid:lo): A 3 byte memory card sector address of a previously stored Image or an Icon that is about to be displayed. Description : This command displays a bitmap image or an icon on to the screen that has been previously stored at a particular sector address in the memory card. The screen position of the image to be displayed is specified by (x, y) and the size of the image by width and height parameters. If the previously stored image was in 8 bit colour format (1 byte per pixel) or 16 bits (2 bytes per pixel) then this must be specified in the colourMode byte parameter. Do not store an image/icon in one colour format then display it in another colour format, this will result in a corrupted image display. Notes: The Copy Screen to Memory Card command always stores that part of the screen as a 16 bit image, i.e. 2 bytes per pixel. The images or icons when stored into the memory card must be sector boundary aligned, i.e. the object start location must be at the start of a sector boundary.
www.4dsystems.com.au
45
www..com
2.4.9
Display Object from Memory Card(@O)
Syntax : extCmd, cmd, Address(Umsb:Ulsb:Lmsb:Llsb) extCmd : 40hex, @ascii cmd : 4Fhex, Oascii Address(Umsb:Ulsb:Lmsb:Llsb): A 4 byte (32 bit) memory address of a previously stored Object that is about to be displayed. Description: Some of the commands can be stored as objects in the memory card which can be later recalled by the host on demand and displayed or executed. The user must make sure the 32 bit address of each stored command/object is known before using this feature. For example, a series of images can be stored as icons and later displayed as the application requires them. The table at the end of this section lists all of the commands that can be stored as objects within the memory card.
www.4dsystems.com.au
46
www..com
2.4.10 Run Program from Memory Card (@P)
Syntax : extCmd, cmd, Address(Umsb:Ulsb:Lmsb:Llsb) extCmd : 40hex, @ascii cmd : 50hex, Pascii Address(Umsb:Ulsb:Lmsb:Llsb): A 4 byte memory card address for the internal command execution. Description : The Run command forces the 32bit internal memory pointer to jump to the specified address and automatically start executing commands, from the memory card without any further interaction by the host processor. It will sequentially execute any valid memory related commands and display objects until it gets to the end of the memory. It is advisable to have the Exit Program or the Jump to Address commands at the end of the user composed program so that the pointer does not run off so to speak.
www.4dsystems.com.au
47
www..com
2.4.11 Delay (07hex)
(memory card command only)
Syntax : cmd, value(msb:lsb) cmd : 07hex value(msb:lsb) : A 2 byte delay value in milliseconds. Maximum value of 65,535 milliseconds or 65.5 seconds. Description : When objects from the memory card such as images are displayed sequentially, a delay can be inserted between subsequent objects. A delay basically has the same effect as a NOP (No Operation) which can be used to determine how long the object stays on the screen before the next object is displayed.
www.4dsystems.com.au
48
www..com
2.4.12 Set Counter (08hex)
Syntax : cmd, value cmd : 08hex
(memory card command only)
value : A 1 byte counter value that can be used with Decrement Counter and Jump to Address If Counter Not Zero commands to form loops. Practical values should be between 2 and 255. Description : A series of images that might be part of an animation may need to be
redisplayed over and over to achieve a lengthy viewing. This command when used in conjunction with Decrement Counter and Jump to Address If Counter Not Zero commands allow the user to determine exactly how many times the series of images are looped. For example, we may want to animate the Globe rotating. Let's say we have 10 image slides of the Globe at different rotated positions residing in the memory card. When the images are displayed sequentially, the effective duration will only be the length of time it takes to display the 10 image frames. We can increase that length by looping through the animation a number of times depending on the value set in the counter. When the display reaches the end of the last frame and encounters the Decrement Counter followed by Jump to Address If Counter Not Zero commands, the counter will be decremented and then the internal pointer will jump to the memory Address specified in the "Jump to Address If Counter Not Zero" command. This sequence will repeat until the value in the counter reaches zero. The following demonstrates how this maybe used: Address (dec) 00000000 00000002 00000012 00000015 00000025 00000119 00000129 00000132 00000134 Command Set Counter (value = 25), Display Image from Memory Card (image1), Delay(10ms), Display Image from Memory Card (image2), Delay(10ms), ..., Display Image from Memory Card (image10), Delay(10ms), Decrement Counter Jump to Address if Counter Not Zero (Address = 00000002 )
Note : The above example is typical of how a series of commands might be loaded into the memory card and then executed by using the Run Program from Memory Card command. The commands would offcourse be the series of hex codes.
www.4dsystems.com.au
49
www..com
2.4.13 Decrement Counter (09hex)
Syntax : cmd, value cmd : 08hex
(memory card command only)
Description : Decrements the counter. See detailed description on how this command can be used effectively in the Set Counter command section.
www.4dsystems.com.au
50
www..com
2.4.14 Jump to Address If Counter Not Zero (0Ahex)
card command only) Syntax : cmd, Address(Umsb:Ulsb:Lmsb:Llsb) cmd : 0Ahex
(memory
Address(Umsb:Ulsb:Lmsb:Llsb): A 4 byte (32 bit) memory jump address if the counter is not zero.
Description : If the internal counter is not zero the program pointer will jump to the specified address. If the counter is zero then it will continue executing the next command. Please see detailed description on how this command can be used effectively in the Set Counter command section.
www.4dsystems.com.au
51
www..com
2.4.15 Jump to Address (0Bhex)
(memory card command only)
Syntax : cmd, Address(Umsb:Ulsb:Lmsb:Llsb) cmd : 0Bhex Address(Umsb:Ulsb:Lmsb:Llsb): A 4 byte (32 bit) memory jump address.
Description : This command will force the internal 32 bit program memory pointer to jump unconditionally to the specified address and start executing commands from there.
www.4dsystems.com.au
52
www..com
2.4.16 Exit Program from Memory Card (0Chex)
Syntax : cmd cmd : 0Chex Description : This command forces the program to stop executing from the memory card and ready to accept and execute commands from the host via the serial interface. When the internal program memory pointer encounters this command it will force the command execution from memory card to stop. It can also be sent via the serial port while the program is running and commands are being executed from the memory card.
www.4dsystems.com.au
53
www..com
Summary of Commands Executable from Memory Card Command (B) Set Background Colour (b) Place Text button (C) Draw Circle (E) Erase Screen (F) Font Size (G) Draw TrianGle (L) Draw Line (O) Opaque or Transparent Text (p) Set pen Size (r) Draw rectangle (S) Place String of ASCII Text (unformatted) (s) Place string of ASCII Text (formatted) (T) Place Text Character (formatted) (t) Place text Character (unformatted) (Y) OLED DisplaY Control functions ($S) Scroll Control (@I) Display Image/Icon from Memory Card (07hex) Delay (in milliseconds) (08hex) Set Counter (09hex) Decrement Counter (0Ahex) Jump to Address if Counter not Zero (0Bhex) Jump to Address (0Chex) Exit Program from Memory Card Object Memory
NOTES: Object : Those commands that can be recalled from the memory card at any time by the host
and displayed on the screen using the "Display Object from Memory Card" command. Memory:Those commands that can reside and be executed from inside the memory card.
www.4dsystems.com.au
54
www..com
2.5 Serial Interface (TTL)
The OLED needs to be connected via a serial link to a host system. The host uses this serial link to send commands to the OLED so that characters and graphics can be displayed on the screen. Use the signal pin-outs as well as the application example shown in the following section for correct connection to the host. Please note that the serial connection (RX/TX) is at TTL levels (0 - 3.3V) and the logic levels are "high" = 1 = 3.3V, "low" = 0 = 0V. If interfacing to a host system running at voltage levels greater than 3.6V, then a 1K series resistor must be inserted between the Host TX and the OLED RX signal. Serial Data Format: 8 Bits, No Parity, 1 Stop Bit. Auto Baud Detect: As previously mentioned, the OLED core has an auto-baud detect function which can operate from 300 baud to 256K baud. Prior to any graphical formatting and commands being sent to the core, it must first be initialized by sending the ASCII character `U' (55h) after power-up. This will allow the core to determine and lock on to the baud rate of the host automatically without needing any further setup. This must be done every time the core is powered up. If the host needs to change the baud rate, the OLED must be powered down and powered back up again. The "U" command cannot be used to change the baud rate during the middle of normal usage. Serial Timing: Each OLED command is made up of a sequence of data bytes. Some commands are a single byte and others are multiple bytes. When a command is sent to the OLED and the operation is completed, the OLED will reply back with a single acknowledge byte called the ACK (06h). This tells the host that the command was understood and the operation is completed. It will take the OLED anywhere between 1 to several milliseconds to reply back with an ACK, depending on the command and the operation the OLED has to perform. If the OLED receives a command that it does not understand it will reply back with a negative acknowledge called the NAK (15h). For example, if a command has 5 bytes but only 4 bytes are sent, the command will not be executed and when the next following command bytes are sent the OLED will reply back with a NAK for each and every byte it receives. For correct operation make sure the command bytes are sent in the correct sequence. Note: No termination character is to be sent at the end of the command sequence. i.e. don't send any CR, or Null, or any other end of command bytes.
www.4dsystems.com.au
55
www..com
2.6 USB Interface
The OLED can be interfaced to a PC using a standard USB cable and the 4D Systems microUSB module (uUSB-MB5) as shown below. The microUSB module (optional extra), simply connects to the OLED 5 pin header and captures the USB data and converts it into serial TTL data. The microUSB modules and drivers are available from your local 4D distributor. This is an optional extra product and is not included with the OLED module.
www.4dsystems.com.au
56
www..com
2.7 Personality Module Micro Code (PmmC)
One of the important features of the GOLDELOX-MD1 module that drives the UOLED-160-GMD1 is the ability to upload its onboard GOLDELOX processor with a micro-Code firmware which allows the module to take on a new personality. This is referred to as Personality Module Micro Code (PmmC). The benefits of this are as follows:
*
Allows the module to be easily upgraded by the user at any time with PmmC files as further enhancements are made in the future. This allows the user to benefit from those latest features. Allows the user to upload a new Operating System to change the device from a serial command driven platform into a high level language platform such as 4DGL. A built-in higher level language such as 4DGL allows user programs to be run directly within the GOLDELOX processor where the graphics operations can be performed much faster than sending the commands serially. This avoids serial bottle necks for those graphics intensive applications as well as allows the user to take complete control of all of the internal resources of the module.
*
The latest PmmC system file for the UOLED-160-GMD1 can be downloaded from: www.4dsystems.com.au/downloads/micro-OLED/UOLED-160-GMD1/PmmC/
The latest version of PmmCLoader.exe PC software tool can be downloaded from: www.4dsystems.com.au/downloads/PmmC-Loader/Software/Windows/ and the User Guide can be found here: www.4dsystems.com.au/downloads/PmmC-Loader/Docs/Pdf/
www.4dsystems.com.au
57
www..com
3. Specifications
The OLED has the following electrical specifications which must be adhered to at all times to prevent damage to the device.
Symbol Vdd I Deg C Tpu i Characteristic Supply voltage Current Operating temp Power-up delay Display Life Time (to half intensity) Min 3.6V 10mA 0 500 10,000 Typ 5V 40mA 30 15,000 Max 6.0V 115mA 70 1000 >20,000 Units V
mA C
mS hours
3.1 Power Consumption (@ 5.0V Supply)
Current 13.5mA 115.0mA 40.0mA 13.5mA 110.0mA 32.0mA 13.5mA 41.0mA 18.0mA 10.3mA Contrast (section 2.2.22) High, value = 15dec High, value = 15dec High, value = 15dec Medium, value = 08dec Medium, value = 08dec Medium, value = 08dec Low, value = 00dec Low, value = 00dec Low, value = 00dec Low, Medium, High Notes All Pixels OFF (black screen) All Pixels ON (white screen) Average Usage (screen has text and graphics) All Pixels OFF (black screen) All Pixels ON (white screen) Average Usage (screen has text and graphics) All Pixels OFF (black screen) All Pixels ON (white screen) Average Usage (screen has text and graphics) Screen Power Down Command
www.4dsystems.com.au
58
www..com
3.2 Host Interface pin-outs
Pin
+ Tx Rx R
Function
+ve Power Supply input: 3.3 to 6.0 Volts D.C Serial Transmit Data Pin: 0 to 3.3Volt signal levels. Serial Receive Data Pin: 0 to 3.3Volt signal levels. -ve Power Supply input: connect to GND Reset Pin: Active Low > 10 micro seconds
www.4dsystems.com.au
59
www..com
3.3 Mechanical Details
The OLED module footprint is 52mm x 32mm x 8.8mm.
www.4dsystems.com.au
60
www..com
3.4 Circuit Diagram
www.4dsystems.com.au
61
www..com
3.5 65,536 Colour Bitmap Organisation
The OLED 65K colour byte is organised as 5 bits for Red(D11, D12, D13, D14, D15), 6 bits for Green(D5, D6, D7, D8, D9, D10) and 5 bits for Blue(D0, D1, D2, D3, D4). This will give a combination of 32x64x32 = 65,536 colours. Each colour is not limited to 32/64 shades. For example a lighter shade of Red can be obtained by adding a little bit of the Green and a little bit of the Blue. Full Red and full Green will result in Yellow. Some experimentation will be needed to obtain the desired colour.
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
R E D
R E D
R E D
R E D
R E D
G R E E N
G R E E N
G R E E N
G R E E N
G R E E N
G R E E N
B L U E
B L U E
B L U E
B L U E
B L U E
x
x
x
x
x
x
x
x
x
x
X
x
x
x
x
x
Example: To Obtain the Colour Yellow
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
R E D
R E D
R E D
R E D
R E D
G R E E N
G R E E N
G R E E N
G R E E N
G R E E N
G R E E N
B L U E
B L U E
B L U E
B L U E
B L U E
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
www.4dsystems.com.au
62
www..com
Example: To Obtain the Colour Magenta
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
R E D
R E D
R E D
R E D
R E D
G R E E N
G R E E N
G R E E N
G R E E N
G R E E N
G R E E N
B L U E
B L U E
B L U E
B L U E
B L U E
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
Example: To Obtain the Colour White
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
R E D
R E D
R E D
R E D
R E D
G R E E N
G R E E N
G R E E N
G R E E N
G R E E N
G R E E N
B L U E
B L U E
B L U E
B L U E
B L U E
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
www.4dsystems.com.au
63
www..com
3.6 256 Colour Bitmap Organisation
The OLED 256 colour byte is organised as 3 bits for Red (D5, D6, D7), 3 bits for Green (D2, D3, D4) and 2 bits for Blue (D0, D1). This will give a combination of 8x8x4 = 256 colours. Each colour is not limited to 4/8 shades. For example a lighter shade of Red can be obtained by adding a little bit of the Green and a little bit of the Blue. Full Red and full Green will result in Yellow. Some experimentation will be needed to obtain the desired colour.
D7
RED2
D6
RED1
D5
RED0
D4
GREEN2
D3
GREEN1
D2
GREEN0
D1
BLUE2
D0
BLUE1
Example: To Obtain the Colour Yellow
D7 D6 D5 D4 D3 D2 D1 D0
0
0
0
1
1
1
1
1
Example: To Obtain the Colour Magenta
D7 D6 D5 D4 D3 D2 D1 D0
1
1
1
0
0
0
1
1
Example: To Obtain the Colour White
D7 D6 D5 D4 D3 D2 D1 D0
1
1
1
1
1
1
1
1
www.4dsystems.com.au
64
www..com
3.7 Power-Up Reset
When the OLED comes out of a power up reset it initialises the Graphics RAM and the internal Display registers. Allow up to 500ms before attempting to communicate with the OLED. The power up sequence of events should be as follows: Allow 500ms after power-up for OLED to settle. Do not attempt to communicate with the OLED during this period. The OLED may send garbage on its Tx Data line during this period, the host should disable its Rx Data reception. Within 100ms of powering up, the host should make sure it has its Tx line pulled HIGH. If the host Tx (OLED Rx) is LOW or floating after the 100ms period, the OLED may misinterpret this as the START bit and lock onto some unknown Baud Rate. If the host has a slow wake up time, i.e. less than 100ms, its Tx line maybe floating. This can be easily resolved by adding a pull up resistor on the host Tx line which will ensure the OLED does not encounter a false START bit. The pull up resistor can be any value within 10K to 100K. The host transmits the ASCII `U' (capital U, 55hex) as the first command so the OLED can lock onto the host's serial baud rate. This is called "Auto Baud". The OLED will respond with an `ACK' (06h). See section 2.5 The OLED is now ready to accept screen function commands from the host. Note: The OLED will wait up to 5 seconds with its screen blank for the host to transmit the Auto-Baud character. If the host has not transmitted the Auto Baud character by the end of this period the OLED will then display its splash screen. If the host has transmitted the Auto Baud character the screen will remain blank. This wait period is for those customer specific applications where the splash screen is undesired.
www.4dsystems.com.au
65
www..com
4. Appendix
4.1 Available Models:
UOLED-160-GMD1 (with uSD memory card adaptor) Please check stock availability with your local supplier.
www.4dsystems.com.au
66
www..com
4.2 Related Products:
uUSB-MB5 o microUSB module, USB to Serial Bridge o Standard USB miniB connector o 10 pin header provides the following signals: 5V, 3.3V, GND, Tx, Rx, Suspend, DTR, CTS, RTS, GND o 5 Volts supply @ 500mA, 3.3 Volts supply @ 100mA o Additional flow control signals, DTR, CTS, RTS o Available with an additional 5 pin header for the OLED interface uSD-64Mb o 64Mb micro-SD Memory Card o Extremely small footprint. o Measuring only 15mm x 11mm x 0.8mm o The uSD-64Mb memory card can be used to store images, animations, text or any graphics objects. PmmC System File for the UOLED-160-GMD1 o The latest PmmC system file for the UOLED-160-GMD1 can be downloaded from: www.4dsystems.com.au/downloads/micro-OLED/UOLED-160-GMD1/PmmC/ PmmC Loader PC Software Tool
o
Latest version of PmmC-Loader software tool can be downloaded from: www.4dsystems.com.au/downloads/PmmC-Loader/Software/Windows/ and the User Guide can be found here: www.4dsystems.com.au/downloads/PmmC-Loader/Docs/Pdf/
Software Utility Tools (free download) o Range of PC based software utility tools for Windows o Download images/text/animations into the uOLED-128-GMD1 micro-SD memory card. o For available software tools user guides please visit the OLED webpage of your local distributor or visit the 4D Systems website www.4dsystems.com.au
www.4dsystems.com.au
67
www..com
4.3 Auto Demo/Slide Show:
The UOLED-160-GMD1 modules are equipped to accept memory cards. There is a 2 pin jumper at the back of the unit (on the component side). Upon power-up, if the shunt is inserted and there are preloaded objects in the uSD memory card such as images/text/animations, the UOLED-160-GMD1 module will automatically play/display these from the memory card. The memory cards are supplied as blank separate products and as such the user will have to upload a slide show composition to the card to benefit from this auto play feature.
For normal usage this jumper must be removed.
4.4 Precautions:
Avoid having a White Background. The more pixels that are lit up, the more the OLED module will consume current. A full white screen will have the highest power consumption. Avoid displaying objects or text on White Backgrounds. This will cause a smearing effect which is inherent to all OLED displays. Instead try a shaded mixed colour as the background or better still a black background. Ideally have mixed coloured objects/text/icons on a black background. Avoid having to display the same image/object on the screen for lengthy periods of time. This will cause a burn-in which is a common problem with all types display technologies. Blank the screen after a while or dim it very low by adjusting the contrast. This can be achieved via the "OLED Display Control Functions" command (section 2.1.22). Better still, implement a screen saver feature by using the scroll screen command. Observe the Power-Down procedure (section 2.2.22). The OLED module automatically takes care of the proper Power-Up sequence.
4.5 Help and Other Information:
Assistance with latest information and downloads visit the OLED product web-page of your distributor. Questions and technical support please email support@4dsystems.com.au All related product information can be downloaded from www.4dsystems.com.au/downloads/micro-OLED/UOLED-160-GMD1
www.4dsystems.com.au
68


▲Up To Search▲   

 
Price & Availability of UOLED-160-GMD1

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X